/*
 *  SSConst.h
 *  MESLib
 * 
 * Copyright 2003-2009 Starline Software Ltd
 * 
 * This file is part of MESLib.
 * 
 * MESLib is free software: you can redistribute it and/or modify
 * it under the terms of the GNU Lesser General Public License as published by
 * the Free Software Foundation, either version 3 of the License, or
 * (at your option) any later version.
 *
 * MESLib is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
 * GNU Lesser General Public License for more details.
 * 
 * You should have received a copy of the GNU Lesser General Public License
 * along with MESLib. If not, see <http://www.gnu.org/licenses/>.
 */

//size of event views

#define SSEventViewDefaultSize 		NSMakeSize(150, 125)
#define	SSEventViewOverlapModeNoDatesHeight 	34
#define	SSEventViewOverlapModeWithDatesHeight 	62
#define SSDateDisplayViewHeight		16.5
#define SSFirstEBYPosition		5
//(SSDateDisplayViewHeight + 5)
#define SSDistanceBetweenActorRows	12
#define SSMinNumberOfEBFields		1
#define SSMaxNumberOfEBFields		7

#define SSMatrixDisplayMode		0
#define SSOverlapDisplayMode		1

#define SSNoActionDraggingMode		0
#define SSMovingWholeDraggingMode	1
#define SSChangingStartDraggingMode	2
#define SSChangingEndDraggingMode	3

#define SSMaxTableViewRowHeight 	137.0

#define SSSelectedColor 		[NSColor colorWithCalibratedRed:.1 green:.3 blue:1 alpha:.3]

#define SSCommentViewSize		NSMakeSize(150, 25)
#define SSCommentImageSize              NSMakeSize(20, 20)
#define SSCommentFieldLength		SSCommentViewSize.width - SSCommentImageSize.width - 6

#define SSNeedsDiamondSize  		NSMakeSize(20, 20)

#define SSJumpMapSize			NSMakeSize(160, 100)

#define SSLabelButtonImageSize		NSMakeSize(25, 15)

//used in SSEventLinkObject
#define SSConnectorLineWidth		1
#define SSArrowLength			12
#define SSArrowDistanceFromEventView	3

#define SSEBTrackingCellYPos 		0

#define SSConfirmedLinkType		0
#define SSTentativeLinkType		1

#define SSObservedTimeType		0
#define SSEstimatedTimeType		1

#define SSCommentAlertType		0
#define SSCommentNoteType		1
#define SSCommentQuestionType		2

#define SSNeedsDiamondDraftState	0
#define SSNeedsDiamondFinalState	1

#define SSCommentStringMaxLength	50

#define SSEventFieldHeight 		15
#define SSEventFieldOverlapHeight	((SSEventFieldHeight * 2) - 2)
#define SSEventFirstFieldYPosition 	3
#define SSDistanceForEventFields 	17
#define SSDistanceForOverlapEventFields 	(SSEventFieldOverlapHeight + 2)

#define SSSelectBlockEditingMode	100
#define SSMoveObjectEditingMode		101
#define SSScrollScreenEditingMode	102
#define SSDeleteObjectEditingMode	103

#define SSWhiteLabelType		0
#define SSYellowLabelType		1
#define SSGreenLabelType		2
#define SSLightBlueLabelType		3
#define SSBlueLabelType			4
#define SSPurpleLabelType		5
#define SSOrangeLabelType		6
#define SSRedLabelType		 	7

#define SSWhiteColor			[NSColor whiteColor]
#define SSYellowColor			[NSColor colorWithCalibratedRed:1.0 green:1.0 blue:0.0 alpha:1]
#define SSGreenColor			[NSColor colorWithCalibratedRed:0.35 green:1.0 blue:0.35 alpha:1]
#define SSLightBlueColor		[NSColor colorWithCalibratedRed:.2 green:0.9 blue:1.0 alpha:1]
#define SSBlueColor			[NSColor colorWithCalibratedRed:0.35 green:0.6 blue:1.0 alpha:1]
#define SSPurpleColor			[NSColor colorWithCalibratedRed:1.0 green:0.5 blue:0.9 alpha:1]
#define SSOrangeColor			[NSColor colorWithCalibratedRed:1.0 green:.8 blue:.5 alpha:1]
#define SSRedColor		 	[NSColor colorWithCalibratedRed:1.0 green:.3 blue:.45 alpha:1]

#define SSActorSortType			0
#define SSActionSortType		1
#define SSObjectSortType		2
#define SSLocationSortType		3
#define SSSourceSortType		4
#define SSBeginTimeSortType		5
#define SSEndTimeSortType		6
#define SSXPositionSortType		7

#define SSLegendViewRow1YPos		2
#define SSLegendViewRow2YPos		22
#define SSLegendViewDistanceBetweenObjects 6

#define SSActionCanceled		0
#define SSActionApproved		1


#define preferenceShowSourceFieldTag 	100
#define preferenceShowObjectFieldTag 	101
#define preferenceShowLocationFieldTag 	102
#define preferenceShowBeginDateFieldTag 103
#define preferenceShowEndDateFieldTag 	104
#define preferenceShowActorFieldTag 	105

#define preferenceTimeRowDateOnlyTag 	100
#define preferenceTimeRowTimeOnlyTag 	101
#define preferenceTimeRowDateAndTimeTag	102

#define preferenceJumpMapInChartTag 	100
#define preferenceJumpMapInWindowTag 	101
#define preferenceJumpMapNoDisplayTag	102

#define preferenceETDisplayActorColumnTag	100
#define preferenceETDisplayActionColumnTag 	101
#define preferenceETDisplayObjectColumnTag 	102
#define preferenceETDisplayLocationColumnTag 	103
#define preferenceETDisplaySourceColumnTag 	104
#define preferenceETDisplayRemarkColumnTag 	105
#define preferenceETDisplayBeginTimeColumnTag 	106
#define preferenceETDisplayEndTimeColumnTag 	107
#define preferenceETDisplayXPosColumnTag 	108
#define preferenceETDisplayLabelColumnTag 	109
#define preferenceETDisplayBeginDateColumnTag 	110
#define preferenceETDisplayEndDateColumnTag 	111
#define preferenceETDisplayDurationColumnTag 	112

#define preferenceDTDisplayNumberColumnTag	100
#define preferenceDTDisplayTypeColumnTag 	101
#define preferenceDTDisplayOriginColumnTag 	102
#define preferenceDTDisplayAnalystColumnTag 	103
#define preferenceDTDisplayFileIDColumnTag 	104
#define preferenceDTDisplayDescriptionColumnTag 105
#define preferenceDTDisplayStateColumnTag 	106
#define preferenceDTDisplayUdvalue1ColumnTag 	107
#define preferenceDTDisplayUdvalue2ColumnTag	108
#define preferenceDTDisplayUdvalue3ColumnTag 	109
#define preferenceDTDisplayUdvalue4ColumnTag 	110
#define preferenceDTDisplayUdvalue5ColumnTag 	111
#define preferenceDTDisplayUdvalue6ColumnTag 	112

#define preferenceDOTDisplayOptionColumnTag 	100
#define preferenceDOTDisplayUdvalue1ColumnTag	101
#define preferenceDOTDisplayUdvalue2ColumnTag 	102
#define preferenceDOTDisplayUdvalue3ColumnTag 	103
#define preferenceDOTDisplayUdvalue4ColumnTag 	104
#define preferenceDOTDisplayUdvalue5ColumnTag 	105
#define preferenceDOTDisplayNumberColumnTag 	106

#define preferenceDTTDisplayProColumnTag 	100
#define preferenceDTTDisplayConColumnTag 	101
#define preferenceDTTDisplayUdvalue1ColumnTag	102
#define preferenceDTTDisplayUdvalue2ColumnTag 	103
#define preferenceDTTDisplayUdvalue3ColumnTag 	104
#define preferenceDTTDisplayNumberColumnTag 	105

#define preferenceCTDisplayCommentColumnTag	100
#define preferenceCTDisplayXPositionColumnTag 	101
#define preferenceCTDisplayYPositionColumnTag 	102
#define preferenceCTDisplayTypeColumnTag 	103

#define preferenceStartupDoNothingTag		100
#define preferenceStartupNewFileTag		101
#define preferenceStartupShowOpenFileDialogTag	102
#define preferenceStartupOpenLastFileTag	103

#define SSExportJpegType		100
#define SSExportPngType			101
#define SSExportTiffType		102
#define SSExportActorGlossaryType	103
#define SSExportActionGlossaryType	104
#define SSExportLocationGlossaryType	105
#define SSExportObjectGlossaryType	106
#define SSExportSourceGlossaryType	107
#define SSExportRemarkGlossaryType	108
#define SSExportOptionGlossaryType	109
#define SSExportProTradeoffGlossaryType	110
#define SSExportConTradeoffGlossaryType	111

#define SSCancelImport			0
#define SSImportDuplicateEB 		1
#define SSChangeImportedEB		2
#define SSSkipEBImport			3

//object filter types
#define SSStartsAfterDateFilterType	0
#define SSEndsBeforeDateFilterType	1

//overlap units value = number of seconds in that unit
#define SSDayUnit		86400
#define SSHourUnit		3600
#define SSMinuteUnit		60.0
#define SSSecondUnit		1.0
#define SS100THSecondUnit	0.01
#define SSMillisecondUnit	0.001

#define SSDayUnitKey		0
#define SSHourUnitKey		1
#define SSMinuteUnitKey		2
#define SSSecondUnitKey		3
#define SS100THSecondUnitKey	4
#define SSMillisecondUnitKey	5

//overlap preset keys
#define SSOverlapPresetYearKey		0
#define SSOverlapPresetMonthKey		1
#define SSOverlapPresetWeekKey		2
#define SSOverlapPresetDayKey		3
#define SSOverlapPresetHourKey		4
#define SSOverlapPresetMinuteKey	5
#define SSOverlapPresetSecondKey	6
#define SSOverlapPreset100THSecondKey	7
#define SSOverlapPresetMillisecondKey	8

#define SSOverlapPixelsForZoom		5

#define SSMatrixDisplayTableHeaderHeight	17.0
#define SSOverlapDisplayTableHeaderHeight	30.0

//eb search types
#define SSEBSearchAllType        100
#define SSEBSearchActorType		101
#define SSEBSearchActionType		102
#define SSEBSearchObjectType		103
#define SSEBSearchSourceType		104
#define SSEBSearchLocationType	105
#define SSEBSearchRemarkType     106
#define SSEBSearchBeginDateType	107
#define SSEBSearchBeginTimeType	108
#define SSEBSearchEndDateType    109
#define SSEBSearchEndTimeType    110

extern NSString *SSDiamondTableKey;

extern NSString *SSCatalystDocToolbarIdentifier;
extern NSString *SSNewEBToolbarItemIdentifier;
extern NSString *SSNewAlertCommentToolbarItemIdentifier;
extern NSString *SSNewNoteCommentToolbarItemIdentifier;
extern NSString *SSNewQuestionCommentToolbarItemIdentifier;
extern NSString *SSSnapChartToTimesToolbarItemIdentifier;
extern NSString *SSSnapTimesToChartToolbarItemIdentifier;
extern NSString *SSDeleteSelectedToolbarItemIdentifier;
extern NSString *SSExportToolbarItemIdentifier;
extern NSString *SSInspectorToolbarItemIdentifier;
extern NSString *SSNeedsDiamondToolbarItemIdentifier;
extern NSString *SSFilterToolbarItemIdentifier;
extern NSString *SSZoomInToolbarItemIdentifier;
extern NSString *SSZoomOutToolbarItemIdentifier;
extern NSString *SSSwitchViewTypeToolbarItemIdentifier;
extern NSString *SSZoomOutOverlapToolbarItemIdentifier;
extern NSString *SSZoomInOverlapToolbarItemIdentifier;

extern NSString *PrivateDragPboard;

extern NSString *SSDisplayEBActorKey;
extern NSString *SSDisplayEBSourceKey;
extern NSString *SSDisplayEBObjectKey;
extern NSString *SSDisplayEBLocationKey;
extern NSString *SSDisplayEBBeginDateKey;
extern NSString *SSDisplayEBEndDateKey;
extern NSString *SSDateDisplayKey;
extern NSString *SSDisplayJumpMapKey;
extern NSString *SSDisplayChartLegendKey;


extern NSString *SSEBTableActorColumnKey;
extern NSString *SSEBTableActionColumnKey;
extern NSString *SSEBTableObjectColumnKey;
extern NSString *SSEBTableLocationColumnKey;
extern NSString *SSEBTableSourceColumnKey;
extern NSString *SSEBTableRemarkColumnKey;
extern NSString *SSEBTableBegindateColumnKey;
extern NSString *SSEBTableEnddateColumnKey;
extern NSString *SSEBTableBegintimeColumnKey;
extern NSString *SSEBTableEndtimeColumnKey;
extern NSString *SSEBTableXpositionColumnKey;
extern NSString *SSEBTableLabelColumnKey;
extern NSString *SSEBTableDurationColumnKey;

extern NSString *SSDiamondTableNumberColumnKey;
extern NSString *SSDiamondTableOwnertypeColumnKey;
extern NSString *SSDiamondTableOwnerdescriptionColumnKey;
extern NSString *SSDiamondTableAnalystColumnKey;
extern NSString *SSDiamondTableFileidColumnKey;
extern NSString *SSDiamondTableDescriptionColumnKey;
extern NSString *SSDiamondTableDiamondstateColumnKey;
extern NSString *SSDiamondTableUdvalue1ColumnKey;
extern NSString *SSDiamondTableUdvalue2ColumnKey;
extern NSString *SSDiamondTableUdvalue3ColumnKey;
extern NSString *SSDiamondTableUdvalue4ColumnKey;
extern NSString *SSDiamondTableUdvalue5ColumnKey;
extern NSString *SSDiamondTableUdvalue6ColumnKey;

extern NSString *SSDiamondOptionTableOptionColumnKey;
extern NSString *SSDiamondOptionTableUdvalue1ColumnKey;
extern NSString *SSDiamondOptionTableUdvalue2ColumnKey;
extern NSString *SSDiamondOptionTableUdvalue3ColumnKey;
extern NSString *SSDiamondOptionTableUdvalue4ColumnKey;
extern NSString *SSDiamondOptionTableUdvalue5ColumnKey;
extern NSString *SSDiamondOptionTableIndexColumnKey;

extern NSString *SSDiamondTradeoffTableProColumnKey;
extern NSString *SSDiamondTradeoffTableConColumnKey;
extern NSString *SSDiamondTradeoffTableUdvalue1ColumnKey;
extern NSString *SSDiamondTradeoffTableUdvalue2ColumnKey;
extern NSString *SSDiamondTradeoffTableUdvalue3ColumnKey;
extern NSString *SSDiamondTradeoffTableIndexColumnKey;

extern NSString *SSCommentTableCommentstringColumnKey;
extern NSString *SSCommentTableXpositionColumnKey;
extern NSString *SSCommentTableYpositionColumnKey;
extern NSString *SSCommentTableTypeColumnKey;

extern NSString *SSStartupOptionKey;

extern NSString *SSLastSavedFileKey;

extern NSString *SSSaveBackupKey;
extern NSString *SSSaveBackupFrequencyKey;

extern NSString *SSFirstRunKey;

extern NSString *SSDefaultWhiteLabelDesignationKey;
extern NSString *SSDefaultYellowLabelDesignationKey;
extern NSString *SSDefaultGreenLabelDesignationKey;
extern NSString *SSDefaultLightBlueLabelDesignationKey;
extern NSString *SSDefaultBlueLabelDesignationKey;
extern NSString *SSDefaultPurpleLabelDesignationKey;
extern NSString *SSDefaultOrangeLabelDesignationKey;
extern NSString *SSDefaultRedLabelDesignationKey;
extern NSString *SSDefaultTitleKey;
extern NSString *SSDefaultAuthorKey;
extern NSString *SSDefaultDateKey;

extern NSString *SSDefaultDiamondUDValue1Key;
extern NSString *SSDefaultDiamondUDValue2Key;
extern NSString *SSDefaultDiamondUDValue3Key;
extern NSString *SSDefaultDiamondUDValue4Key;
extern NSString *SSDefaultDiamondUDValue5Key;
extern NSString *SSDefaultDiamondUDValue6Key;

extern NSString *SSDefaultDiamondOptionUDValue1Key;
extern NSString *SSDefaultDiamondOptionUDValue2Key;
extern NSString *SSDefaultDiamondOptionUDValue3Key;
extern NSString *SSDefaultDiamondOptionUDValue4Key;
extern NSString *SSDefaultDiamondOptionUDValue5Key;

extern NSString *SSDefaultDiamondTradeoffUDValue1Key;
extern NSString *SSDefaultDiamondTradeoffUDValue2Key;
extern NSString *SSDefaultDiamondTradeoffUDValue3Key;

extern NSString *SSDisplayDupeWarningKey;

extern NSString *SSDefaultProjectFolderKey;

extern NSString *SSCatalystSerialNumberKey;

extern NSString *SSDefaultPoisonWordListKey;

extern NSString *SSCatalystChartObjectType;
